SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
CREATE PROCEDURE [dbo].[spResolverCapacitacion] 

@capacitacion INT,
@inscripcion INT,
@estado INT

AS
SET NOCOUNT ON
DECLARE @documento INT
DECLARE @tipodocumento INT
DECLARE @agente INT
DECLARE @fecha DATETIME
DECLARE @error INT
DECLARE @ap VARCHAR(1)

SELECT @documento = Documento, @tipodocumento = TipoDocumento FROM tb_InscripcionesCapacitaciones WHERE IdInscripcionCapacitacion = @inscripcion

BEGIN TRANSACTION

-- SI el agente ya existe en el legajo y aprobo el curso
IF EXISTS(SELECT * FROM tb_Agentes WHERE Documento = @documento AND TipoDocumento = @tipodocumento AND @estado NOT IN(0,3)) BEGIN
	SELECT @agente = idagente FROM tb_Agentes WHERE Documento = @Documento AND TipoDocumento = @tipodocumento
	IF NOT EXISTS(SELECT * FROM tb_CapacitacionesDelAgente WHERE Agente = @agente AND Capacitacion = @capacitacion) BEGIN
		SELECT @fecha = Fecha FROM tb_Capacitaciones WHERE IdCapacitacion = @capacitacion
		IF @estado = 1 
			SELECT @ap = 'S'
		ELSE
			SELECT @ap = 'N'
		INSERT tb_CapacitacionesDelAgente ( Agente, Capacitacion, Fecha, Aprobado) VALUES (@agente, @capacitacion, @fecha, @ap)

		IF @@error <> 0 BEGIN
			SELECT @error = @@error
			GOTO Salir
		END
	END
END
IF @estado = 0 BEGIN SELECT @estado = Null END
UPDATE tb_InscripcionesCapacitaciones SET Estado = @estado WHERE IdInscripcionCapacitacion = @Inscripcion
COMMIT TRANSACTION

Salir:
IF @error <> 0 BEGIN
	ROLLBACK TRANSACTION
END
GO
